Author
¨	Makira (Antoine Missout), email: makira at users.sourceforge.net and ¨Shepmaster

Overview

	The MP3Encoder pipe encodes a sound stream into MPEG1-layer III using lame.  I only integrated it into MediaPipe. Shepmaster did a nice GUI.

	The default parameters are --r3mix. If you need to use another configuration, you can use the command line version of MediaPipe, and specify the arguments sent to lame by lame="--abr 128"(for example). Don't specify the output file, nor any input file.

Usage
Just put [options] in MediaPipe.

LAME version 3.92  (http://www.mp3dev.org/)

usage: ./lame [options] <infile> [outfile]

    <infile> and/or <outfile> can be "-", which means stdin/stdout.

RECOMMENDED:
    lame -h input.wav output.mp3

OPTIONS:
  Input options:
    -r              input is raw pcm
    -x              force byte-swapping of input
    -s sfreq        sampling frequency of input file (kHz) - default 44.1 kHz
    --bitwidth w    input bit width is w (default 16)
    --mp1input      input file is a MPEG Layer I   file
    --mp2input      input file is a MPEG Layer II  file
    --mp3input      input file is a MPEG Layer III file
    --nogap <file1> <file2> <...>
                    gapless encoding for a set of contiguous files
    --nogapout <dir>
                    output dir for gapless encoding (must precede --nogap)

  Operational options:
    -m <mode>       (s)tereo, (j)oint, (f)orce, (m)ono or (a)auto  
                    default is (s) or (j) depending on bitrate
                    force = force ms_stereo on all frames.
                    auto = jstereo, with varialbe mid/side threshold
    -a              downmix from stereo to mono file for mono encoding
    -d              allow channels to have different blocktypes
    --freeformat    produce a free format bitstream
    --decode        input=mp3 file, output=wav
    -t              disable writing wav header when using --decode
    --comp  <arg>   choose bitrate to achive a compression ratio of <arg>
    --scale <arg>   scale input (multiply PCM data) by <arg>
    --scale-l <arg> scale channel 0 (left) input (multiply PCM data) by <arg>
    --scale-r <arg> scale channel 1 (right) input (multiply PCM data) by <arg>
    --preset type   type must be phone, voice, fm, tape, hifi, cd or studio
                    "--preset help" gives some more infos on these
    --alt-preset type type must be "standard", "extreme", "insane",
                      or a value for an average desired bitrate and depending on
                      the value specified, appropriate quality settings will be used.
    --r3mix         use high-quality VBR preset

  Verbosity:
    --disptime <arg>print progress report every arg seconds
    -S              don't print progress report, VBR histograms
    --nohist        disable VBR histogram display
    --silent        don't print anything on screen
    --quiet         don't print anything on screen
    --verbose       print a lot of useful information

  Noise shaping & psycho acoustic algorithms:
    -q <arg>        <arg> = 0...9.  Default  -q 5 
                    -q 0:  Highest quality, very slow 
                    -q 9:  Poor quality, but fast 
    -h              Same as -q 2.   Recommended.
    -f              Same as -q 7.   Fast, ok quality

  CBR (constant bitrate, the default) options:
    -b <bitrate>    set the bitrate in kbps, default 128 kbps
    --cbr           enforce use of constant bitrate

  ABR options:
    --abr <bitrate> specify average bitrate desired (instead of quality)

  VBR options:
    -v              use variable bitrate (VBR) (--vbr-old)
    --vbr-old       use old variable bitrate (VBR) routine
    --vbr-new       use new variable bitrate (VBR) routine
    -V n            quality setting for VBR.  default n=4
                    0=high quality,bigger files. 9=smaller files
    -b <bitrate>    specify minimum allowed bitrate, default  32 kbps
    -B <bitrate>    specify maximum allowed bitrate, default 320 kbps
    -F              strictly enforce the -b option, for use with players that
                    do not support low bitrate mp3
    -t              disable writing LAME Tag

  ATH related:
    --noath         turns ATH down to a flat noise floor
    --athshort      ignore GPSYCHO for short blocks, use ATH only
    --athonly       ignore GPSYCHO completely, use ATH only
    --athtype n     selects between different ATH types [0-5]
    --athlower x    lowers ATH by x dB
    --athaa-type n  ATH auto adjust types 1-3, else no adjustment
    --athaa-loudapprox n   n=1 total energy or n=2 equal loudness curve
    --athaa-sensitivity x  activation offset in -/+ dB for ATH auto-adjustment

  PSY related:
    --short         use short blocks when appropriate
    --noshort       do not use short blocks
    --allshort      use only short blocks
    --cwlimit <freq>  compute tonality up to freq (in kHz) default 8.8717
    --notemp        disable temporal masking effect
    --nspsytune     experimental PSY tunings by Naoki Shibata
    --nssafejoint   M/S switching criterion
    --nsmsfix <arg> M/S switching tuning [effective 0-3.5]
    --interch x     adjust inter-channel masking ratio
    --ns-bass x     adjust masking for sfbs  0 -  6 (long)  0 -  5 (short)
    --ns-alto x     adjust masking for sfbs  7 - 13 (long)  6 - 10 (short)
    --ns-treble x   adjust masking for sfbs 14 - 21 (long) 11 - 12 (short)
    --ns-sfb21 x    change ns-treble by x dB for sfb21

  experimental switches:
    -X n            selects between different noise measurements
    -Y              lets LAME ignore noise in sfb21, like in CBR
    -Z              toggles the scalefac feature on

  MP3 header/stream options:
    -e <emp>        de-emphasis n/5/c  (obsolete)
    -c              mark as copyright
    -o              mark as non-original
    -p              error protection.  adds 16 bit checksum to every frame
                    (the checksum is computed correctly)
    --nores         disable the bit reservoir
    --strictly-enforce-ISO   comply as much as possible to ISO MPEG spec

  Filter options:
    -k              keep ALL frequencies (disables all filters),
                    Can cause ringing and twinkling
  --lowpass <freq>        frequency(kHz), lowpass filter cutoff above freq
  --lowpass-width <freq>  frequency(kHz) - default 15% of lowpass freq
  --highpass <freq>       frequency(kHz), highpass filter cutoff below freq
  --highpass-width <freq> frequency(kHz) - default 15% of highpass freq
  --resample <sfreq>  sampling frequency of output file(kHz)- default=automatic

  ID3 tag options:
    --tt <title>    audio/song title (max 30 chars for version 1 tag)
    --ta <artist>   audio/song artist (max 30 chars for version 1 tag)
    --tl <album>    audio/song album (max 30 chars for version 1 tag)
    --ty <year>     audio/song year of issue (1 to 9999)
    --tc <comment>  user-defined text (max 30 chars for v1 tag, 28 for v1.1)
    --tn <track>    audio/song track number (1 to 255, creates v1.1 tag)
    --tg <genre>    audio/song genre (name or number in list)
    --add-id3v2     force addition of version 2 tag
    --id3v1-only    add only a version 1 tag
    --id3v2-only    add only a version 2 tag
    --space-id3v1   pad version 1 tag with spaces instead of nulls
    --pad-id3v2     pad version 2 tag with extra 128 bytes
    --genre-list    print alphabetically sorted ID3 genre list and exit

    Note: A version 2 tag will NOT be added unless one of the input fields
    won't fit in a version 1 tag (e.g. the title string is longer than 30
    characters), or the '--add-id3v2' or '--id3v2-only' options are used,
    or output is redirected to stdout.

MPEG-1   layer III sample frequencies (kHz):  32  48  44.1
bitrates (kbps): 32 40 48 56 64 80 96 112 128 160 192 224 256 320

MPEG-2   layer III sample frequencies (kHz):  16  24  22.05
bitrates (kbps):  8 16 24 32 40 48 56 64 80 96 112 128 144 160

MPEG-2.5 layer III sample frequencies (kHz):   8  12  11.025
bitrates (kbps):  8 16 24 32 40 48 56 64 80 96 112 128 144 160

Related Links

http://www.mp3dev.org

Version changes

v0.2 - 1/08/02
	-Bug fixes
	-nice GUI by shepmaster
	-other things...

v0.1 - 05/02/02
	-First version

License
Copyright (c) 2002, Antoine Missout, shepmaster
All rights reserved.
Licensor: Antoine Missout

Redistribution and use in source and binary forms, without modification, are permitted provided that the following conditions are met:

*	Usage is non-commercial
*	Redistributions are free of charge
*	Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
*	Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

For other types of distribution and/or usage, a special license must be obtained. Requests can be sent to makira at users.sourceforge.net.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
¨